<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
	</body>
	<script>
		// 建造者，部件生产
		class ProductBuilder {
			constructor(param) {
				this.param = param
			}

			/* 生产部件，part1 */
			buildPart1() {
				// ... Part1 生产过程
				this.part1 = 'part1'

			}

			/* 生产部件，part2 */
			buildPart2() {
				// ... Part2 生产过程
				this.part2 = 'part2'
			}
		}

		/* 指挥者，负责最终产品的装配 */
		class Director {
			constructor(param) {
				const _product = new ProductBuilder(param)
				_product.buildPart1()
				_product.buildPart2()
				return _product
			}
		}

		// 获得产品实例
		const product = new Director('param')
	</script>

</html>